#pragma once


struct IWindow;


//-----------------------------------------------------------------------------
//													Windows implementation
//-----------------------------------------------------------------------------
#ifdef _WINDOWS	//	Windows stuff here

#include <windows.h>

#define DllImport __declspec(dllimport)
#define DllExport __declspec(dllexport)

#define stricmp _stricmp

#endif	//	_WINDOWS

//-----------------------------------------------------------------------------
//													Linux implementation
//-----------------------------------------------------------------------------
#ifdef _LINUX		//	Linux stuff here



#endif

//-----------------------------------------------------------------------------
//													Cross-platform API
//-----------------------------------------------------------------------------
namespace XApi
{
	XLIBRARY		LoadLibrary(const char* libName);
	void*				GetProcAddress(XLIBRARY hLib, const char* procName);
	IWindow*		CreateWindowX(XINSTANCE appHandle, void* pMsgProc);
	void				SetCurrentDirectory(const char* dir);
	const char*	GetApplicationPath();

	uint				GetScreenWidth();
	uint				GetScreenHeight();

	uint64			QueryPerformanceCounter();
	uint64			QueryPerformanceFrequency();
}